package com.iot08.common.entity.app;

import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;


/**
 * @author cwj
 * @description
 * @date 2024/12/30 10:34
 **/
@Data
@Document("alipay_notify_info")
public class AliPayNotifyInfo implements Serializable {

    @Id
    private String id;

    //通知的发送时间，必传
    private String notifyTime;

    //通知类型，必传
    private String notifyType;

    //通知类型（1：支付，2：退款）
    private Integer alipayNotifyType;

    //通知校验id，必传
    private String notifyId;

    private String appid;

    //签名类型，必传
    private String signType;

    //签名，必传
    private String sign;

    //支付宝交易号，必传
    private String tradeNo;

    //商户订单号，必传
    private String outTradeNo;

    //商家业务号，不必传
    private String outBizNo;

    //买家支付宝用户号（或为buyerOpenId），不必传
    private String buyerId;

    //买家支付宝账号，不必传
    private String buyerLogonId;

    //卖家支付宝用户号，不必传
    private String sellerId;

    //买家支付宝账号，不必传
    private String sellerEmail;

    //交易状态，必传
    private String tradeStatus;

    //订单金额，必传
    private BigDecimal totalAmount;

    //实收金额，必传
    private BigDecimal receiptAmount;

    //开票金额，不必传
    private BigDecimal invoiceAmount;

    //付款金额，不必传
    private BigDecimal buyerPayAmount;

    //集分宝金额，不必传
    private BigDecimal pointAmount;

    //总退款金额，不必传
    private BigDecimal refundFee;

    //实际退款金额，不必传
    private BigDecimal sendBackFee;

    //订单标题，不必传
    private String subject;

    //商品描述，不必传
    private String body;

    //公共回传参数，不必传
    private String passbackParams;

    //交易创建时间，不必传
    private String gmtCreate;

    //交易支付时间，不必传
    private String gmtPayment;

    //交易退款时间，不必传
    private String gmtRefund;

    //交易结束时间，不必传
    private String gmtClose;

    //支付金额信息，不必传
    private String fundBillList;

    //优惠券信息，不必传
    private String voucherDetailList;

    private Date createTime;

    private Date updateTime;

}
